package aufgabe1;

public class ListenElementInteger<Integ> implements InterfaceListenElement<Integer>, Comparable<Integer> {

	Integer object;
	ListenElement<Integer> nextElement;

	/**
	 * Konstruktor
	 *
	 * @param object Das erste Objekt der Liste.
	*/
    public ListenElementInteger(Integer object) {
        this.object = object;
        nextElement = null;
    }

	/**
	 * Das nachfolge Element der Liste wird gesetzt.
	 *
	 * @param nextElement Der Nachfolger von dem aktuellen Element.
	*/
    @Override
    public void setNextElement(ListenElement<Integer> nextElement) {
        this.nextElement = nextElement;
    }

	/**
	 * Der Nachfolger von dem aktuellen Element.
	 *
	 * @return ListenElement<T> Das Nachfolgende Element in der Liste.
	*/
    @Override
    public ListenElement<Integer> getNextElement() {
        return nextElement;
    }

	/**
	 * Hat die Liste noch ein weiteres Element?
	 *
	 * @return true, falls ein weiteres Element vorhanden ist.
	*/
    public boolean hasNext() {
        return getNextElement() != null;
    }

	/**
	 * Liefert den Inhalt des Listenelementes.
	 * 
	 * @return T Das Objekt des Listenelementes.
	*/	
    @Override
    public Integer getObject() {
        return object;
    }

	@Override
	public int compareTo(Integer o) {

		return this.getObject().compareTo(o);
	}


	
	
    
    
}
